System and method to determine positioning in a virtual coordinate system

ABSTRACT

A system includes a computing system configured to communicatively couple to a database configured to store a virtual coordinate system and a plurality of features associated with a representative environment associated with the virtual coordinate system. The computing system is configured to receive a first input indicative of a physical positioning of a user in a physical environment, determine a virtual positioning of the user in the virtual coordinate system based on the first input, receive a second input indicative of an updated physical positioning of the user in the physical environment, determine an updated virtual positioning of the user in the virtual coordinate system based on the second input, and output a first signal to a computing device in response to determining the updated virtual positioning of the user in the virtual coordinate system.

BACKGROUND

The present disclosure relates generally to presenting virtual featuresto a user. More particularly, embodiments of the present disclosure arerelated to systems and methods for associating a position of a user in aphysical environment with a corresponding virtual position of the userin a virtual coordinate system to present the virtual features.

This section is intended to introduce the reader to various aspects ofart that may be related to various aspects of the present techniques andare described and/or claimed below. This discussion is believed to behelpful in providing the reader with background information tofacilitate a better understanding of the various aspects of the presentdisclosure. Accordingly, it should be noted that these statements are tobe read in this light, and not as admissions of prior art.

Users may be responsible for performing tasks, such as for industrialsystems that are geographically remote from one another. For example,the user may be a technician that may perform a variety of tasks, suchas performing maintenance on a component of an industrial system,communicating with other technicians (e.g., from other industrialsystems), acquiring information regarding the industrial system, and thelike. However, traveling between different areas to perform each taskmay expend significant time and resources, thereby reducing anefficiency of the workers. Accordingly, it is desirable to develop waysto facilitate the workers to perform tasks without having to constantlymove the workers between different areas.

BRIEF DESCRIPTION

A summary of certain embodiments disclosed herein is set forth below. Itshould be noted that these aspects are presented merely to provide thereader with a brief summary of these certain embodiments and that theseaspects are not intended to limit the scope of this disclosure. Indeed,this disclosure may encompass a variety of aspects that may not be setforth below.

In one embodiment, a system includes a computing system configured tocommunicatively couple to a database configured to store a virtualcoordinate system and a plurality of features associated with arepresentative environment associated with the virtual coordinatesystem. The computing system is configured to receive a first inputindicative of a physical positioning of a user in a physicalenvironment, determine a virtual positioning of the user in the virtualcoordinate system based on the first input, receive a second inputindicative of an updated physical positioning of the user in thephysical environment, determine an updated virtual positioning of theuser in the virtual coordinate system based on the second input, andoutput a first signal to a computing device in response to determiningthe updated virtual positioning of the user in the virtual coordinatesystem.

In another embodiment, a non-transitory computer-readable mediumincludes computer-executable instructions that, when executed by aprocessor, are configured to cause the processor to receive a firstinput indicative of a first physical positioning of a first user in afirst physical environment and determine a first virtual positioning ofthe first user in a virtual coordinate system based on the first input,in which the first virtual positioning corresponds to the first physicalpositioning. The instructions are also configured to cause the processorto receive a second input indicative of a second physical positioning ofthe first user in the first physical environment and determine a secondvirtual positioning of the first user in the virtual coordinate systembased on the second input, in which the second virtual positioningcorresponds to the second physical positioning, and output a firstsignal to a first computing device based on the second virtualpositioning of the user in the virtual coordinate system.

In another embodiment, a method includes receiving, via a processor, aninput indicative of a physical positioning of a user in a physicalenvironment, determining, via the processor, a virtual positioning ofthe user in a virtual coordinate system based on the input, anddetermining, via the processor, a representative positioning of the userin a representative environment, in which the representative environmentis associated with the virtual coordinate system. The method alsoincludes outputting, via the processor, a signal configured to cause acomputing device to present a feature associated with the representativeenvironment via an electronic display based on the virtual positioningof the user in the virtual coordinate system.

DRAWINGS

These and other features, aspects, and advantages of the presentdisclosure will become better understood when the following detaileddescription is read with reference to the accompanying drawings in whichlike characters represent like parts throughout the drawings, wherein:

FIG. 1 is a schematic of an embodiment of a position tracking systemthat may be used for associating of a positioning a user with a virtualpositioning of the user in a virtual coordinate system, in accordancewith an embodiment of the present disclosure;

FIG. 2 is a schematic of an embodiment of a mobile device that may beutilized by a position tracking system, in accordance with an embodimentof the present disclosure;

FIG. 3 is a schematic of an embodiment of a mapping arrangement in whichelements are mapped into a virtual coordinate system representing avirtual environment, in accordance with an embodiment of the presentdisclosure;

FIG. 4 is a diagram illustrating an embodiment of a method ofcalibrating a virtual coordinate system to match a device coordinatesystem, in accordance with an embodiment of the present disclosure;

FIG. 5 is a schematic of an embodiment of a mapping arrangement in whichelements are mapped into a virtual coordinate system representing aphysical environment, in accordance with an embodiment of the presentdisclosure;

FIG. 6 is a schematic of an embodiment of a mapping arrangement in whichelements are mapped into a virtual coordinate system representing both avirtual environment and a physical environment, in accordance with anembodiment of the present disclosure;

FIG. 7 is a schematic of an embodiment of a mapping arrangement in whichelements are mapped into a virtual coordinate system representing both avirtual environment and a physical environment, in accordance with anembodiment of the present disclosure;

FIG. 8 is a schematic of an embodiment of a mapping arrangement in whicha user is mapped into a virtual coordinate system at different times, inaccordance with an embodiment of the present disclosure;

FIG. 9 is a diagram of an embodiment of a mapping method for mapping auser from a physical environment into a virtual coordinate system usingmultiple markers in the physical environment, in accordance with anembodiment of the present disclosure;

FIG. 10 is a diagram of an embodiment of a mapping method for mapping auser from a physical environment into a virtual coordinate system usinga marker and a direction associated with the marker in the physicalenvironment, in accordance with an embodiment of the present disclosure;

FIG. 11 is a diagram of an embodiment of a mapping method for mapping auser from a physical environment into a virtual coordinate system usinga marker in the physical environment and a compass associated with thephysical environment, in accordance with an embodiment of the presentdisclosure;

FIG. 12 is a diagram of an embodiment of a mapping method for mapping auser from a physical environment into a virtual coordinate system usinga default virtual positioning in the virtual coordinate system, inaccordance with an embodiment of the present disclosure;

FIG. 13 is a diagram of an embodiment of a mapping method for mapping auser from a physical environment into the virtual coordinate systemusing image recognition on a captured image of a portion of the physicalenvironment, in accordance with an embodiment of the present disclosure;and

FIG. 14 is a flowchart of an embodiment method for tracking movement ofa user in a virtual coordinate system, in accordance with an embodimentof the present disclosure.

DETAILED DESCRIPTION

One or more specific embodiments of the present disclosure will bedescribed below. In an effort to provide a concise description of theseembodiments, all features of an actual implementation may not bedescribed in the specification. It should be noted that in thedevelopment of any such actual implementation, as in any engineering ordesign project, numerous implementation-specific decisions must be madeto achieve the developers' specific goals, such as compliance withsystem-related and business-related constraints, which may vary from oneimplementation to another. Moreover, it should be noted that such adevelopment effort might be complex and time consuming, but wouldnevertheless be a routine undertaking of design, fabrication, andmanufacture for those of ordinary skill having the benefit of thisdisclosure.

When introducing elements of various embodiments of the presentdisclosure, the articles “a,” “an,” “the,” and “said” are intended tomean that there are one or more of the elements. The terms “comprising,”“including,” and “having” are intended to be inclusive and mean thatthere may be additional elements other than the listed elements. One ormore specific embodiments of the present embodiments described hereinwill be described below. In an effort to provide a concise descriptionof these embodiments, all features of an actual implementation may notbe described in the specification. It should be noted that in thedevelopment of any such actual implementation, as in any engineering ordesign project, numerous implementation-specific decisions must be madeto achieve the developers' specific goals, such as compliance withsystem-related and business-related constraints, which may vary from oneimplementation to another. Moreover, it should be noted that such adevelopment effort might be complex and time consuming, but wouldnevertheless be a routine undertaking of design, fabrication, andmanufacture for those of ordinary skill having the benefit of thisdisclosure.

For organizations that provide services to many areas, such as manyrooms, buildings, geographic environments, and so forth, it may bebeneficial to perform tasks remotely. In an example, it may bebeneficial for users who are located in different areas to be able tointeract with one another in a shared virtual or augmented environment,such as for facilitating communication amongst one another. However, itmay be difficult to coordinate positioning of each user in the samevirtual environment at the same time.

Thus, it may be beneficial to position a user in a virtual coordinatesystem that represents a virtual environment, a physical environment, orboth, to facilitate completion of tasks. Accordingly, embodiments of thepresent disclosure are directed to a system that may calibrate aphysical environment of a user with the virtual coordinate system todetermine a positioning of the user in the virtual coordinate system.Based on the positioning of the user in the virtual coordinate system,the system may determine various features to present to the user, suchas features related to the environment (e.g., a representativeenvironment) represented by the virtual coordinate system.

For example, the user may communicate with a computing system (e.g., viaa mobile device of the user) to associate a location of the physicalenvironment with a corresponding location in the virtual coordinatesystem. Based on a calibration process, the computing system maydetermine a starting position (e.g., a [0,0,0] x-y-z coordinate) and/ora starting orientation (e.g., a [0,0,0,0] x-y-z-w quaternion) of theuser in the virtual coordinate system and therefore in therepresentative environment. The computing system may present certainfeatures (e.g., images, information) to the user based on the positionand/or movement of the user in the virtual coordinate system withrespect to the starting positions. For instance, a component (e.g., themobile device) may monitor movement of the user in the physicalenvironment and may transmit the movement to the computing system fordetermining corresponding movement of the user in the virtual coordinatesystem, such as movement deviating from the starting position (e.g.,deviating from the starting [0,0,0] x-y-z coordinate) and/or from thestarting orientation (e.g., deviating from the [0,0,0,0] x-y-z-wquaternion) of the user. Based on the movement of the user in thevirtual coordinate system, the computing system may update the featurespresented to the user, such as to emulate movement of the user in therepresentative environment, thereby immersing the user in therepresentative environment.

In some embodiments, the component may use an inertial measurement unit(IMU) to determine movement of the user. The IMU may monitor a change inpositioning of the user in the physical environment, and the positiontracking system may use the monitored change in positioning of the userin the physical environment to determine a corresponding change inpositioning of the user in the virtual coordinate system. In otherwords, the position tracking system monitors movement of the user todetermine a deviation from a previous positioning of the user to anupdated positioning of the user. In this way, the computing system maymonitor the position and movement of the user without the use ofexternal equipment, such as cameras. Furthermore, such techniques mayenable the positioning of the user to be monitored when the user is atany physical location. For instance, the virtual coordinate system maycorrespond to a particular physical environment (e.g., an office) of theuser. However, the positioning of the user may be continuously monitoredeven when the user is positioned external to the physical environment(e.g., the user is in a residential home instead of at the office). Inthis way, the positioning of the user in the virtual coordinate systemmay be continuously determined, and the user does not have torecalibrate or re-associate a physical positioning of the user with avirtual positioning of the user each time the user leaves the physicalenvironment. In other words, the physical positioning of the user in thephysical environment remains accurately associated with the same virtualpositioning of the user in the virtual coordinate system even after theuser leaves the physical environment.

With this in mind, FIG. 1 is a schematic of an embodiment of a positiontracking system 50 that may be used for monitoring a positioning of auser 52 in a physical environment 54. As used herein, the term“positioning” includes a location (e.g., placement of the device 58)and/or an orientation (e.g., direction in which the user 52 is facing).Furthermore, the physical environment 54 may include any suitablephysical environment in which the user 52 is located, including anoffice, a warehouse, a natural environment, and so forth. The positiontracking system 50 may also include a computing system 56 (e.g., aphysical server and/or a cloud-based computing system) that may executeprocesses for monitoring the positioning of the user 52. For example,the computing system 56 may be communicatively coupled with a mobile orcomputing device 58 (e.g., a headset, a cellular phone, a tablet, alaptop, etc.) of the user 52 via a network 60 that permits data exchangebetween the computing system 56 and the mobile device 58. For instance,the network 60 may include any wired or wireless network that may beimplemented as a local area network (LAN), a wide area network (WAN),cellular network, radio network, and the like. In certainimplementations, the mobile device 58 may include features, such assensors (e.g., an IMU), that may detect a change in positioning of theuser 52 in the physical environment 54. The mobile device 58 may outputsensor data indicative of the change in positioning to the computingsystem 56 to enable the computing system 56 to determine an updatedpositioning of the user 52. Although FIG. 1 illustrates the computingsystem 56, the network 60, the virtual coordinate system 62, and thedatabase 64 as separate components, in additional embodiments, suchcomponents may be included within a single device (e.g., within themobile device 58). Indeed, the functions of the components describedherein may be local to the mobile device, remote relative to the mobiledevice 58, or distributed in any suitable manner (e.g., a singlecomputing system 56 performs functions for multiple mobile devices 58for multiple users 52).

In some embodiments, the computing system 56 may use dead reckoningtechniques to determine updated positioning of the user 52. That is, thecomputing system 56 may calculate a current positioning of the user 52based on a change from a previous positioning of the user 52. As anexample, at a first time, the user 52 may be at a first position (e.g.,at [0, 0, 0]) and a first orientation (e.g., at [0, 0, 0, 0]). Then, theuser 52 may move to a second positioning at a second time, and thesecond positioning includes a second position and a second orientation.The mobile device 58 may determine movement, such as a linear velocity,a linear acceleration, a rotational velocity, a rotational acceleration,and the like, of the user 52 from the first positioning to the secondpositioning, and the mobile device 58 may transmit data indicative ofsuch movement to the computing system 56. The computing system 56 maythen determine the position and orientation of the user 52 based on themovement of the user 52 from the first positioning to the secondpositioning. In one example, the computing system 56 may determine thatthe user 52 moved (+3, −2, +1) relative to the first position (0, 0, 0)to be at the second position (3, −2, 1) and moved (+0.7, +1, 0, 1)relative to (0, 0, 0, 0) to be at a current orientation of (0.7, 1, 0,1). In this way, the computing system 56 may determine the movement ofthe user 52 and apply the determined movement to a previous positioningof the user 52 to determine an updated positioning of the user 52. Inother embodiments, in addition to or as an alternative to the computingsystem 56, the mobile device 58, may be able to determine the updatedpositioning of the user 52 based on the monitored movement of the user52. As such, the mobile device 58 may be directly transmit updatedpositioning to the computing system 56 without having the computingsystem 56 calculate the updated positioning based on monitored movementof the user 52.

By using a dead reckoning techniques, the computing system 56 may trackthe movement of the user 52 by using a movement sensor (e.g., of themobile device 58), which is further described below with reference toFIG. 2, and without having to use additional external sensors (e.g., animage sensor, an optical sensor) or other sensors (e.g., a globalpositioning system [GPS]) that directly monitors a particular locationof the user 52 in the physical environment 54. As such, the deadreckoning techniques enable the position tracking system 50 toeffectively track the movement of the user 52 at a limited costassociated with operation and/or implementation of the position trackingsystem 50. Moreover, using the dead reckoning techniques enables theposition tracking system 50 to track movement of the user 52 in multipleenvironments. For example, external sensors may be installed at specificlocations and/or have a limited range for detecting movement of the user52. Thus, the external sensors may not be able to track movement of theuser 52 at certain areas or environments that may be outside of athreshold monitoring distance of the external sensors. However, sincethe dead reckoning techniques are based on movement of the user 52rather than on a particular location of the user 52, using the deadreckoning techniques enables the position tracking system 50 todetermine the physical positioning of the user 52 without being limitedby a particular location of the user 52 relative to other features orcomponents of the position tracking system 50.

The computing system 56 may use the received sensor data of thepositioning of the user 52 to determine a corresponding positioning ofthe user 52 in a virtual coordinate system 62, which may be accessed viaa database 64 communicatively coupled to the computing system 56. Thedatabase 64 may include a physical memory, such as a flash memory, ahard drive, a server, and/or the database 64 may include a cloud-baseddatabase that stores the virtual coordinate system 62, such that thecomputing system 56 may retrieve the virtual coordinate system 62 uponcommunication with the database 64.

The computing system 56 may determine a starting positioning of the user52 in the physical environment 54 and may associate the startingpositioning of the user 52 in the physical environment 54 with astarting virtual positioning of the user 52 in the virtual coordinatesystem 62. Movement of the user 52 to change the positioning of the user52 from the starting positioning in the physical environment 54 maytherefore be used to determine a corresponding change of the positioningof the user 52 from the virtual starting positioning in the virtualcoordinate system 62. Therefore, an updated positioning of the user 52in the physical environment 54 may be associated with an updated virtualpositioning of the user 52 in the virtual coordinate system 62. That is,the user 52 is considered to be “mapped into” the virtual coordinatesystem 62, such that the positioning of the user 52 in the physicalenvironment 54 is used to determine the virtual positioning of the user52 in the virtual coordinate system 62. In this way, the physicalenvironment 54 and/or the mobile device 58 may be associated with adevice coordinate system (e.g., stored in the mobile device 58) in whichpositionings of the device coordinate system are associated withcorresponding positionings of the virtual coordinate system 62.Moreover, when the positioning of the user 52 in the physicalenvironment 54 is not being used to determine the positioning of theuser 52 in the virtual coordinate system 62, the user 52 is consideredto be “mapped out” of the virtual coordinate system 62. However, asdescribed further in detail herein, the positioning of the user 52 inthe physical environment 54 may be continuously monitored even when theuser 52 is mapped out of the virtual coordinate system 62. That is, thepositioning of the user 52 in the physical environment 54 may still bedetermined, but is not used for determining the corresponding positionof the user 52 in the virtual coordinate system 62.

In some implementations, the virtual coordinate system 62 is associatedwith a representative environment 66 that includes various information,such as features, stored in the database 64. For instance, certainlocations in the virtual coordinate system 62 may be associated withcertain features of the representative environment 66. Such features maybe presented to the user 52 based on the determined positioning of theuser 52 in the virtual coordinate system 62. For instance, the computingsystem 56 may send a signal to the mobile device 58 to display an image,output an audio, create a haptic feedback (e.g., a vibration), and soforth, associated with the representative environment 66 based on thepositioning of the user 52 in the virtual coordinate system 62. In theillustrated example, the representative environment 66 may be a virtualenvironment that includes multiple chairs 68 positioned around a table.Based on the positioning of the user 52 in the virtual coordinate system62, the computing system 56 may cause the mobile device 58 to display animage of one the chairs 68. By way of example, the mobile device 58 mayuse extended reality, which incorporates virtual features (e.g., virtualimages) to augment physical features (e.g., real-life objects of thephysical environment 54) into the representative environment 66. Themobile device 58 may present the virtual features of the representativeenvironment 66 by overlaying such virtual features on physical featuresof the physical environment 54 and/or by replacing images of physicalfeatures of the physical environment 54 with the virtual features (e.g.,immersing user 52 in the beach-like setting).

In additional embodiments, the representative environment 66 may be anyother suitable environment represented or associated with the virtualcoordinate system 62, such as the physical environment 54, anotherphysical environment, another virtual environment, or any combinationthereof. Indeed, the database 64 may store multiple virtual coordinatesystems 62, such that each virtual coordinate system 62 is associatedwith a different representative environment 66. Additionally, a singlevirtual coordinate system 62 may be associated with multiple differentrepresentative environments 66. Further, multiple virtual coordinatesystems 62 may be associated with the same representative environment 66(e.g., different versions or copies of the same representativeenvironment 66 to perform different activities or purposes). In anycase, a single mobile device 58 may access any number of virtualcoordinate systems 62 and corresponding representative environments 66.In this manner, a particular representative environment 66 may beaccessed by the computing system 56 for displaying features associatedwith a particular representative environment 66 to the user 52. By wayof example, the user 52 may select (e.g., via the mobile device 58) acertain virtual coordinate system 62 and/or a certain representativeenvironment 66 in which the user 52 desires to be monitored.

FIG. 2 is a schematic of an embodiment of the mobile device 58 that maybe employed within the position tracking system 50 for performing thetechniques described herein. As an example, the mobile device 58 mayinclude a headset 94, a tablet 96, a mobile phone 98, another suitablemobile device 58, or any combination thereof. The mobile device 58 mayinclude one or more cameras or image sensors 102 and/or one or moreaudio sensors 104 (e.g., microphones). The position tracking system 50may receive image data via the camera(s) 102 and audio data via theaudio sensors(s) 104. It should be noted that although FIG. 2illustrates the mobile device 58 as having four cameras 102 and twoaudio sensors 104, the mobile device 58 may have any suitable number ofcameras 102 and audio sensors 104, such as a single camera 102 and/or asingle audio sensor 104. Additionally, the mobile device 58 may includemovement or motion sensors 105, such as an accelerometer, a gyroscope,an IMU, another suitable movement sensor, or any combination thereof,that may determine movement of the user 52. Sensor feedback transmittedby the movement sensors 105 may therefore be used for determining thepositioning of the user 52. In additional embodiments, the mobile device58 may include other sensors, such as sensors for determining hapticdata (e.g., a capacitive sensor), for determining a geographic locationof the user 52 (e.g., GPS), for determining a presence of an object(e.g., a proximity sensor or depth camera), a communication sensor,and/or any other suitable sensor for determining parameters associatedwith the user 52 and/or with the physical environment 54.

Additionally, the mobile device 58 may include processing circuitry 106having a processor 108, a memory 110, a communication component 112,input/output (I/O) 114, a display 116, and the like. The communicationcomponent 112 may be a wireless or a wired communication component thatmay facilitate establishing a connection with the network 60 tofacilitate communication between the mobile device 58 and the computingsystem 56. This wired or wireless communication component may includeany suitable communication protocol including Wi-Fi, mobiletelecommunications technology (e.g., 2G, 3G, 4G, 5G, LTE), Bluetooth®,near-field communications technology, and the like. The communicationcomponent 112 may include a network interface to enable communicationvia various protocols such as EtherNet/IP®, ControlNet®, DeviceNet®, orany other industrial communication network protocol.

The processor 108 of the computing system 100 may be any suitable typeof computer processor or microprocessor capable of executingcomputer-executable code, including but not limited to one or more fieldprogrammable gate arrays (FPGA), application-specific integratedcircuits (ASIC), programmable logic devices (PLD), programmable logicarrays (PLA), and the like. The processor 108 may, in some embodiments,include multiple processors. The memory 110 may include any suitablearticles of manufacture that serve as media to storeprocessor-executable code, data, and the like. The memory 110 may storedata, such as to reference for operation of the mobile device,non-transitory processor-executable code used by the processor 108 toperform the presently disclosed techniques, such as for determining thepositioning of the user 52.

The I/O ports 114 may be used for communicatively coupling the mobiledevice 58 to other external devices, such as the computing system 56.Furthermore, the display 116 may be any suitable image-transmittingcomponent that displays an image. For example, the display 116 may be adisplay screen that combines real-world image data associated with thephysical environment 54 with virtually generated image data associatedwith virtually generated elements to supplement the real-world imagedata. In another example, the mobile device 58 may include a transparentdisplay to enable the user 52 to view the real-world surroundings, andthe display 116 may display virtually generated content that issuperimposed over the transparent display to produce virtual elementswithin the real-world surroundings.

Furthermore, in some embodiments, the mobile device 58 may include auser interface with which the user 52 may interact with to cause thecomputing system 56 to perform an action associated with the virtualcoordinate system 62. For instance, the user interface may include atouch screen (e.g., as a part of the display 116), an eye-trackingsensor, a gesture (e.g., hand) tracking sensor, a joystick or physicalcontroller, a button, a knob, a button, a switch, a dial, a trackpad, amouse, another component, or any combination thereof. As an example, theuser may utilize the interface for mapping into the virtual coordinatesystem 62, for selecting the virtual coordinate system 62 and/or therepresentative environment 66, for viewing certain information regardingthe virtual coordinate system 62 and/or the representative environment66, and so forth.

It should be noted that the computing system 56 may include one or morecomponents similar to the processing circuitry 106. For instance, thecomputing system 56 may be a cloud-computing device that is separatefrom the mobile device 58, and the computing system 56 may include aseparate processor 108 that receives sensor feedback from the movementsensors 105 for determining the positioning of the user 52. In this way,the mobile device 58 may not directly determine the positioning of theuser 52. Rather, the mobile device 58 may send data to the computingsystem 56 such that the positioning of the user 52 is determinedexternally from the mobile device 58, and the computing system 56 maytransmit data regarding the determined positioning of the user 52 backto the mobile device 58. Indeed, the respective processing circuitry 106of the computing system 56 may enable the computing system 56 tocommunicate with the mobile device 58 for performing the techniquesdescribed herein.

In some circumstances, various users located at different remote,physical environments may desire to communicate to interact with oneanother in a virtual face-to-face manner. For example, a first user whois in a first physical environment may view the location (e.g., relativeto the first user), movement, and appearance of a second user who is ina second physical environment, and the two users may interact with oneanother as if the two users were located at the same environment (e.g.,the same office space). Thus, the two users may appear to be in the sameenvironment because the two users share the same virtual coordinatesystem and representative environments. Such techniques may facilitatethe users to communicate to one another, such as by emulating real worldinteractions. Furthermore, the users may desire to meet in a particularvirtual environment. For instance, each user may be physically locatedin their respective residential homes, but the users may desire tointeract in a virtual office space that is more conducive tofacilitating communication between the users, further enhancing theinteraction between the users.

To this end, FIG. 3 is a schematic of an embodiment of a first mappingarrangement 140 illustrating how elements from a first physicalenvironment 142 and from a second physical environment 144 are mappedinto a virtual coordinate system 146 representing a virtual environment148. For example, a first user 150 may be located in the first physicalenvironment 142. In order to map into the virtual coordinate system 146,the first user 150 may indicate a first association between a firstphysical location 154 of the first physical environment 142 with a firstvirtual location 156 of the virtual coordinate system 146, and the firstuser 150 may indicate a second association between a second physicallocation 158 of the first physical environment 142 with a second virtuallocation 160 of the virtual coordinate system 146. For instance, asfurther described below with respect to FIG. 4, the first user 150 mayuse a particular mobile device 58 to indicate the physical locations154, 158 are associated with selected locations of the virtualenvironment 148, and the selected locations of the virtual environment148 correspond to the virtual locations 156, 160 of the virtualcoordinate system 146. In the illustrated embodiment, the first user 150may select the first virtual locations 156, 160 that are adjacent to oneof the chairs 68 in order to be positioned in (e.g., seated in) theselected chair 68 in the virtual environment 148.

The computing system 56 may then calibrate the virtual coordinate system146 to match with the first physical environment 142 (e.g., a devicecoordinate system associated with the first physical environment 142).That is, based on the association and/or relationship between the firstphysical location 154 and the first virtual location 156 and therelationship between the second physical location 158 and the secondvirtual location 160, the computing system 56 may determine variousother physical locations of the first physical environment 142associated with corresponding virtual locations of the virtualcoordinate system 146. By way of example, the virtual coordinate system146 may include multiple virtual coordinate points, the devicecoordinate system of the first physical environment 142 may havemultiple device coordinate points, and the computing system 56 mayassociate each device coordinate point of the device coordinate systemwith a corresponding virtual coordinate point of the virtual coordinatesystem 146, thereby mapping the first physical environment 142 with thevirtual coordinate system 146.

The computing system 56 may then determine the positioning of the firstuser 150 in the virtual coordinate system 146 based on the mapping ofthe first physical environment 142 with the virtual coordinate system146. For instance, the computing system 56 may receive (e.g., via userinput by the first user 150, via a sensor such as GPS) a first physicalpositioning 162, such as a device coordinate point, of the first user150 in the first physical environment 142. The first physicalpositioning 162 may include a first relationship with any of thephysical locations 154, 158. The computing system 56 may then determinea corresponding first virtual positioning 164 of the first user 150associated with the first physical positioning 162, such as based on theassociation between the device coordinate system with the virtualcoordinate system 146. The first virtual positioning 164 may have asecond relationship with any of the virtual locations 156, 160, and thesecond relationship between the first virtual positioning 164 and thevirtual locations 156, 160 may correspond with the first relationshipbetween the first physical positioning 162 and the physical locations154, 158. For instance, the location and orientation of the first user150 associated with the first virtual positioning 164 may correspond toa location and orientation of the first user 150 associated with thefirst physical positioning 162. As an example, a distance, a facingdirection, an angle, a placement, and the like, of the first physicalpositioning 162 in the device coordinate system may be used to determinea corresponding distance, a corresponding facing direction, acorresponding angle, a corresponding placement, and so forth, of thefirst virtual positioning 164 in the virtual coordinate system 146 basedon a calibration between the first physical environment 142 and thevirtual coordinate system 146. Such details are further discussed withrespect to FIGS. 4-8 below.

Moreover, based on the determined first virtual location 156 of thefirst user 150, the computing system 56 may present the virtualenvironment 148 to the first user 150 accordingly. For instance, thefirst virtual positioning 164 may be associated with a firstrepresentative positioning 166 of the first user 150 in the virtualenvironment 148. As such, features of the virtual environment 148 (e.g.,the chairs 68) may be displayed at various locations, orientations, andother manners to the first user 150 to emulate how the first user 150 ispositioned and/or oriented in the first representative positioning 166(e.g., by emulating a perspective of the first user 150 in the firstrepresentative positioning 166).

Similarly, a second user 168 located in the second physical environment144 may map into the virtual coordinate system 146 by selecting a thirdphysical location 170 and a fourth physical location 172 of the secondphysical environment 144 and by selecting a third virtual location 174associated with the third physical location 170 and a fourth virtuallocation 176 associated with the fourth physical location 172. Thesecond user 168 may be determined to be at a second physical positioning178 and, based on the position of the second physical positioning 178relative to the third physical location 170 and to the fourth physicallocation 172, the computing system 56 may determine a second virtualpositioning 180 within the virtual coordinate system 146 associated withthe second positioning system 178 of the second user 168. Moreover, thesecond virtual positioning 180 may be associated with a secondrepresentative positioning 182 of the second user 168 in the virtualenvironment 148. Accordingly, the computing system 56 may cause featuresof the virtual environment 148 to be presented to the second user 168 toemulate how the second user 168 is positioned and/or oriented in thesecond representative positioning 182. Further, the computing system 56may present an image (e.g., an avatar) of the first user 150 to thesecond user 168 based on the first representative positioning 166 of thefirst user 150 relative to the second representative positioning 182 ofthe second user 168. Likewise, the computing system 56 may presentanother image of the second user 168 to the first user 150 based on thesecond representative positioning 182 of the second user 168 relative tothe first representative positioning 166 of the first user 150. Thus,the first user 150 and the second user 168 may view one another in thevirtual environment 148 based on the respective virtual positionings164, 180 of the first user 150 and the second user 168 relative to oneanother.

Furthermore, changes associated with the physical positionings 162, 178of the respective users 150, 168 may be monitored and applied todetermine corresponding changes to the respective virtual positionings164, 180 and to change how the features of the virtual environment 148are presented to the users 150, 168. In the illustrated embodiment, thecomputing system 56 determines (e.g., via the dead reckoning techniques)the second user 168 has moved in a direction 184 to a third physicalpositioning 186 in the second physical environment 144. Based on thecalibration of the second physical environment 144, the computing system56 may determine that the third physical positioning 186 corresponds toa third virtual positioning 188 in the virtual coordinate system 146. Byway of example, the computing system 56 may determine an amount ofphysical movement associated with the second user 168 moving from thesecond physical positioning 178 to the third physical positioning 186,and the computing system 56 may determine a corresponding amount ofmovement from the second virtual positioning 180 based on thecalibration between the second physical environment 144 and the virtualcoordinate system 146. Additionally, the computing system 56 may alsodetermine that the third virtual positioning 188 corresponds to a thirdrepresentative positioning 190 of the second user 168 in the virtualenvironment 148. Accordingly, the computing system 56 may updatefeatures presented to both the first user 150 and the second user 168based on the updated positioning of the second user 168 in the virtualenvironment 148. For instance, the computing system 56 may update thepositioning of the image of the second user 168 presented to the firstuser 150 to emulate the second user 168 moving from the secondrepresentative positioning 182 to the third representative positioning190 within the virtual environment 148. Additionally, the computingsystem 56 may update the features of the virtual environment 148presented to the second user 168 to emulate the second user 168 beingpositioned and/or oriented in the third representative positioning 190.

Further, although FIG. 3 illustrates that the first user 150 and thesecond user 168 are located in different physical environments 142, 144,in additional embodiments, the first user 150 and the second user 168may map into the virtual coordinate system 146 from the same physicalenvironment. Moreover, the virtual coordinate system 146 may becalibrated to match the same physical environment in different mannersbased on the virtual locations selected by the users 150, 168. Forexample, a first movement of the first user 150 (e.g., taking a stepforward) in the physical environment may cause a corresponding secondmovement (e.g., taking the same step forward) of the first user 150 inthe virtual coordinate system 146. However, a similar first movement ofthe second user 168 (e.g., taking a step forward) in the same physicalenvironment may cause a corresponding third movement (e.g., taking twosteps forward) of the second user 168 in the virtual coordinate system146, in which the third movement is substantially different (e.g.,includes a substantially larger position and/or orientation change) thanthe second movement. In other words, even though the first user 150 andthe second user 168 map from the same physical environment into the samevirtual coordinate system 146, the different manners or methods in whichthe first user 150 and the second user 168 are mapped into the virtualcoordinate system 146 may change how features of the virtual environment148 are presented differently to the first user 150 and to the seconduser 168. Accordingly, features of the same virtual environment 148 maybe presented differently to the first user 150 relative to thatpresented to the second user 168, even though the first user 150 and thesecond user 168 are mapped into the virtual coordinate system 146 fromthe same physical environment.

As mentioned above, in order to associate various locations of aphysical environment with corresponding locations of a virtualcoordinate system, a calibration process may be performed. For instance,the first user 150 may desire to associate a first physical locationwithin an office with a first virtual location in the virtual coordinatesystem, and the first user 150 may desire to associate a second physicallocation within the office with a second virtual location in the virtualcoordinate system. Based on the calibration of the first physicallocation with the first virtual location and the second physicallocation with the second virtual location, further physical locations(e.g., relative to the first and second physical locations) may beassociated with corresponding virtual locations (e.g., relative to thefirst and second virtual locations) as will be further described below(e.g., using a transformation matrix). Indeed, physical locations bothwithin the office and external to the office may be associated withcorresponding virtual locations in the virtual coordinate system.

FIG. 4 is a diagram 210 illustrating an embodiment of a method ofcalibrating a virtual coordinate system 212 to match a device coordinatesystem 214 (e.g., coordinates of the mobile device 58) associated with aphysical environment. The virtual coordinate system 212 may beassociated with a first y-axis or direction 216 and a first x-axis ordirection 218. Similarly, the device coordinate system 214 may beassociated with a second y-axis or direction 220 and a second x-axis ordirection 222. In the illustrated diagram 210, a first physical location224 of the device coordinate system 214 is selected and matched with afirst virtual location 226 of the virtual coordinate system 212.Moreover, a second physical location 228 of the device coordinate system214 is selected and matched with a second virtual location 230 of thevirtual coordinate system 212.

As an example, the mobile device 58 may display a representativeenvironment associated with the virtual coordinate system 212 to a user(e.g., the first user 150). The user may navigate to a first location inthe physical environment and may indicate (e.g., via the mobile device58) that the first location is the first physical location 224.Moreover, the user may use the mobile device 58 (e.g., via atouchscreen) to indicate that a particular location of therepresentative environment is associated with the first physicallocation 224. The particular location of the representative environmentcorresponds to the first virtual location 226 of the virtual coordinatesystem 212 and therefore, the computing system 56 associates the firstphysical location 224 with the first virtual location 226.

Similarly, the user may navigate to a second location in the physicalenvironment and may indicate that the second location is the secondphysical location 228. As the user navigates from the first location tothe second location in the physical environment, the movement of theuser is monitored such that the physical positioning of the user may bedetermined when the user is at the second location. For instance, thecomputing system 56 determines the physical positioning is associatedwith (e.g., includes) the second physical location 228 and includes afirst relationship relative to the first physical location 224. At thesecond location in the physical environment, the user may indicate thatthe second location is associated with the second physical location 228,and the user may also indicate that an additional particular location ofthe representative environment is associated with the second physicallocation 228. The additional particular location of the representativeenvironment is associated with the second virtual location 230 of thevirtual coordinate system, and the computing system 56 may thereforeassociate the second physical location 228 with the second virtuallocation 230. In some embodiments, after associating the second physicallocation 228 with the second virtual location 230, the computing system56 may then determine the virtual positioning of the user in the virtualcoordinate system 212. For example, the virtual positioning may beassociated with the second virtual location 230 and may include a secondrelationship relative to the first virtual location 226, in which thesecond relationship between the virtual positioning and the firstvirtual location 226 corresponds with the first relationship between thephysical positioning and the first physical location 224.

Furthermore, virtual coordinate system 212 may then be calibrated tomatch the device coordinate system 214 based on the physical locations224, 228 and the virtual locations 226, 230. For instance, the virtualcoordinate system 212 may be calibrated such that the relationshipbetween the first virtual location 226 and the second virtual location230 substantially matches the relationship between the first physicallocation 224 and the second physical location 228. In the illustratedexample, the first virtual location 226 and the second virtual location230 may be separated along the first y-axis 216 by a first y-distance232, and the first virtual location 226 and the second virtual location230 may be separated along the first x-axis 218 by a first x-distance234. Moreover, the first physical location 224 and the second physicallocation 228 may be separated along the second y-axis 220 by a secondy-distance 236, and the first physical location 224 and the secondphysical location 228 may be separated along the second x-axis 220 by asecond x-distance 238. Accordingly, the computing system 56 may scalethe virtual coordinate system 212 such that a length of the firsty-distance 232 of the virtual coordinate system 212 substantiallymatches a length of the second y-distance 236 of the device coordinatesystem 214. For example, the virtual coordinate system 212 may be scaledin the first direction 240 along the first y-axis 216 to increase thelength of the first y-distance 232 until the length of the firsty-distance 232 substantially matches the length of the second y-distance236. Similarly, the computing system 56 may modify the scaling of thevirtual coordinate system 212 such that a length of the first x-distance234 of the virtual coordinate system 212 substantially matches a lengthof the second x-distance 238 of the device coordinate system 214. As anexample, the virtual coordinate system 212 may be lengthened in thesecond direction 242 along the first x-axis 218 until the length of thefirst x-distance 234 substantially matches the length of the secondx-distance 238.

In addition, the computing system 56 may calibrate (e.g., orient) thevirtual coordinate system 212 to align the first y-distance 232 with thesecond y-distance 236 and to align the first x-distance 234 with thesecond x-distance 238. To this end, the computing system 56 may rotatethe virtual coordinate system 212 in a rotational direction 244. By wayof example, after the virtual coordinate system 212 has been scaled asdescribed above, the computing system 56 may translate the virtualcoordinate system 212 over the device coordinate system 214 to overlaythe first physical location 224 with the first virtual location 226,connect the second physical location 228, the second virtual location230, and the overlaid first physical location 224 and first virtuallocation 226 with one another, and then apply an equation or formula(e.g., law of cosines, law of sines, law of tangents) to determine theangle in which the virtual coordinate system 212 is to be rotated inorder to align the first virtual location 226 with the first physicallocation 224 and to align the second virtual location 230 with thesecond physical location 228. Although the described method includesperforming the calibration in a particular sequence (i.e., scaling,translating, and rotating), the steps of the calibration may beperformed in any suitable order, such as translating then scaling thenrotating, translating then rotating then scaling, or any other suitablesequence. In any case, after the virtual coordinate system 212 iscalibrated to match the device coordinate system 214, the computingsystem 56 may associate various virtual locations of the virtualcoordinate system 212 with corresponding physical locations of thedevice coordinate system 214. By way of example, the computing system 56may determine that a third virtual location 246 is associated with athird physical location 248 based on the calibration.

In additional embodiments, a different manner of calibration may beperformed to match the virtual coordinate system 212 with the devicecoordinate system 214. As an example, the computing system 56 mayshorten the virtual coordinate system 212 along the first y-axis 216,shorten the virtual coordinate system 212 along the first x-axis 218,rotate the virtual coordinate system 212 in a direction opposite therotational direction 244, or any combination thereof. Indeed, thecomputing system 56 may calibrate the virtual coordinate system 56 inany suitable manner to align selected virtual locations of the virtualcoordinate system 212 with respective selected physical locations of thedevice coordinate system 214.

It may also be desirable for a user to receive certain information baseda positioning of the user. For example, the user may be located within aphysical environment, and it may be desirable to information regardingthe physical environment based on the positioning of the user (e.g.,relative to a feature of the physical environment). FIG. 5 furtherdescribes an embodiment in which features may be presented to a userbased on the determined positioning of the user.

FIG. 5 is a schematic of an embodiment of a second mapping arrangement260 illustrating how elements from a third physical environment 262 aremapped into a virtual coordinate system 264 representing arepresentative physical environment 265 (e.g., a mixed environmenthaving physical features associated with the third physical environment262 and additional virtual features). In the illustrated embodiment, afirst physical location 266 is associated with a first virtual location268, and a second physical location 270 is associated with a secondvirtual location 272. Accordingly, the computing system 56 determinesthat a first physical positioning 274 of a third user 276 in the thirdphysical environment 262 is associated with a first virtual positioning278 in the virtual coordinate system 264 and also with a firstrepresentative positioning 280 in the representative physicalenvironment 265. Moreover, the computing system 56 monitors movement ofthe third user 276 in the third physical environment 262 to determinecorresponding movement of the third user 276 in the virtual coordinatesystem 264 and in the representative physical environment 265. Forinstance, the computing system 56 may cause features, such as images ofreal-life objects, of the third physical environment 262 to be presentedto the third user 276 based on the physical positioning of the thirduser 276 in the third physical environment 262.

In the illustrated embodiment, the third user 276 moves from the firstphysical positioning 274 in a direction 282 to a second physicalpositioning 284 in the third physical environment 262. Accordingly, thecomputing system 56 determines the third user 276 has moved in thevirtual coordinate system 264 from the first virtual positioning 278 toa second virtual positioning 286 and has moved in the representativephysical environment 265 from the first representative positioning 280to a second representative positioning 287 in the representativephysical environment 265. In some embodiments, the virtual coordinatesystem 264 may include an element 288 that may be presented to the thirduser 276. In an example, the element 288 may include a featurepositioned in a particular location in the virtual coordinate system 264and in a corresponding location in the representative physicalenvironment 265. As a result, the computing system 56 may present theelement 288 (e.g., an image of an object 290) to the third user 276based on the position of the element 288 relative to the virtualpositioning of the third user 276 in the virtual coordinate system 264,such as to emulate the object 290 being positioned within the thirdphysical environment 262.

In another example, geofencing may be used to determine whether certainfeatures are presented to the third user 276 based on the determinedvirtual positioning of the third user 276. To this end, the element 288may include a trigger area encompassing multiple virtual positionings inthe virtual coordinate system 264, and the computing system 56 maydetermine whether the third user 276 is in a virtual positioningencompassed by the trigger area. For instance, in response todetermining the third user 276 has moved to a virtual positioning withinthe trigger area based on the positioning of the third user 276 in thethird physical environment 262, the computing system 56 may output asignal to the mobile device 58 of the third user 276. In the illustratedembodiment, the signal causes the mobile device 58 to display or presentinformation 292. As such, the third user 276 may view the information292 via the mobile device 58 when the mobile device 58 is physicallylocated at a position that corresponds to the virtual positioningsencompassed by the trigger area. In additional embodiments, the signalmay cause the mobile device 58 to generate a haptic notification (e.g.,a vibration), an audio output, another suitable feature, or anycombination thereof. However, if the computing system 56 determines thatthe third user 276 is not within one of the virtual positioningsencompassed within the trigger area, the computing system 56 may notsend the signal to cause the mobile device 58 to present the features.Thus, the third user 276 may not be able to experience the features(e.g., view the information 292) positioned outside of the trigger area.In this way, the computing system 56 may use the virtual coordinatesystem 264 to cause or not cause mobile device to present features tothe third user 276 based on the determined positioning of the third user276 in the third physical environment 262.

The illustrated second mapping arrangement 260 may also enable thecomputing system 56 to facilitate navigation of the third user 276 inthe physical environment 262. By way of example, based on the mapping ofthe representative physical environment 265 with the virtual coordinatesystem 264, the computing system 56 may determine the virtualpositionings of various features of the physical environment 262 withinthe virtual coordinate system 264. For instance, the third user 276 mayindicate (e.g., via the mobile device 58) a request to navigate into aparticular room, such as a break room of the physical environment 262.The computing system 56 may determine a virtual positioning of the breakroom within the virtual coordinate system 264 and may compare thevirtual positioning of the break room with the virtual positioning ofthe third user 276. Based on the comparison, the computing system 56 maythen present instructions to the third user 276 regarding how tonavigate to the break room. As an example, the computing system 56 maycause the mobile device 58 to present audio output (e.g., voiceinstructions), visual output (e.g., a display of a directional arrow),and the like, to guide the third user 276 through the physicalenvironment 262. Such instructions may generally try to match thevirtual positioning of the third user 276 with the virtual positioningof the break room in order to direct the third user 276 toward the breakroom or any other feature of interest in the physical environment.

In some circumstances, different users may desire map into differentrepresentative environments to interact with other users within thedifferent representative environments. For instance, one of the usersmay desire to map into a first virtual environment, another of the usersmay desire to map into a second virtual environment, and yet another ofthe users may desire to map into a physical environment.

FIG. 6 is a schematic of an embodiment of a third mapping arrangement310 illustrating how elements from the first physical environment 142and from the third physical environment 262 are mapped into a virtualcoordinate system 316 representing both the virtual environment 148 andthe representative physical environment 265. For instance, the computingsystem 56 maps the first user 150 into the virtual coordinate system 316based on an association between a first physical location 318 of thefirst physical environment 142 and a first virtual location 320 in thevirtual coordinate system 316, and an association between a secondphysical location 322 of the first physical environment 142 and a secondvirtual location 324 in the virtual coordinate system 316. As a result,the computing system 56 determines that a first physical positioning 326of the first user 150 in the first physical environment 142 isassociated with a first virtual positioning 330 in the virtualcoordinate system 316. Similarly, the computing system 56 maps the thirduser 276 into the virtual coordinate system 316 based on an associationbetween a third physical location 332 of the third physical environment262 and a third virtual location 334 in the virtual coordinate system316, as well as an association between a fourth physical location 336 ofthe third physical environment 262 and a fourth virtual location 338 inthe virtual coordinate system 316. Accordingly, the computing system 56determines that a second physical positioning 340 of the third user 276in the third physical environment 262 is associated with a secondvirtual positioning 344 in the virtual coordinate system 316.

In the illustrated embodiment, the computing system 56 determines thatthe first virtual positioning 330 associated with the first user 150corresponds to a first representative positioning 342 of the first user150 in the virtual environment 148, and the second virtual positioning344 associated with the third user 276 corresponds to a secondrepresentative positioning 346 of the third user 276 in the virtualenvironment 148. Similarly, the computing system 56 determines that thefirst virtual positioning 330 associated with the first user 150corresponds to a third representative positioning 348 of the first user150 in the representative physical environment 265, and the secondvirtual positioning 344 associated with the third user 276 correspondsto a fourth representative positioning 350 of the third user 276 in therepresentative physical environment 265. Additionally, the third user276 may move from the second physical positioning 340 to a thirdphysical positioning 354 in the third physical environment 262. Thecomputing system 56 may determine that the third physical positioning354 is associated with a third virtual positioning 356 in the virtualcoordinate system 316. The third virtual positioning 356 in the virtualcoordinate system 316 may be associated with a fifth representativepositioning 358 of the third user 276 in the virtual environment 148 anda sixth representative positioning 360 of the third user 276 in therepresentative physical environment 265.

In some embodiments, the computing system 56 may present features of thevirtual environment 148 to the first user 150. As such, similar to thedescription with reference to FIG. 3, the computing system 56 maypresent features to the first user 150 to emulate the first user 150being in the first representative positioning 342 in the virtualenvironment 148. Accordingly, the computing system 56 may present animage of the third user 276 to the first user 150 based on the secondvirtual positioning 344 of the first user 150 relative to the firstvirtual positioning 330 of the third user 276. Additionally, thecomputing system 56 may present features associated with therepresentative physical environment 265 to the third user 276. Forexample, the computing system 56 may cause the mobile device 58 of thethird user 276 to present certain features, such as images, information,sounds, haptic feedback, and so forth, based on the determinedpositioning of the third user 276 in the virtual coordinate system 316(e.g., relative to a trigger area in the virtual coordinate system 316).Furthermore, the computing system 56 may present an image of the firstuser 150 to the third user 276 based on the first virtual positioning330 of the first user 150 relative to the second virtual positioning 344of the third user 276 in the virtual coordinate system 316. By way ofexample, the computing system 56 may cause the image of the first user150 to be presented relative to the real-life objects of the thirdphysical environment 262 (e.g., overlaid onto images of the real-lifeobjects of the third physical environment 262) to emulate that the firstuser 150 is positioned within the third physical environment 262. Whenthe computing system 56 determines the third user 276 has moved from thesecond virtual positioning 344 to the third virtual positioning 356 inthe virtual coordinate system 316, the computing system 56 may updatethe image of the first user 150 based on the movement of the third user276 within the virtual coordinate system 316 and/or based on arelationship between the third virtual positioning 356 of the third user276 and the first virtual positioning 330 of the first user 150. Forinstance, the computing system 56 may anchor or fix the image of thefirst user 150 in the third physical environment 262. In this manner,when the third user 276 moves from the second physical positioning 340to the third physical positioning 354 within the third physicalenvironment 262, the computing system 56 may update the image of thefirst user 150 to emulate that the first user 150 remains in the samepositioning in the third physical environment 262.

In additional embodiments, the computing system 56 may present featuresof the third physical environment 262 to the first user 150 to emulatethe first user 150 being in the third representative positioning 348 inthe representative physical environment 265. That is, the computingsystem 56 may present features of the third physical environment 262 toemulate the first user 150 being in the third physical environment 262.Moreover, the computing system 56 may present features of the virtualenvironment 148 to the third user 276 to emulate the third user 276being in the virtual environment 148. Indeed, the computing system 56may present features associated with any suitable representativeenvironment to the first user 150 and/or to the third user 276. To thisend, for example, the users 150, 276 may be able to select from whichrespective, representative environment (e.g., the virtual environment148, the representative physical environment 265) features will bepresented.

In some instances, a user may desire to map certain elements for viewingby an additional user without being mapped into a representativeenvironment. By way of example, the user may be in contact for assistingthe additional user with performing a task and therefore may desire toprovide certain information or features to be presented to theadditional user. However, the user may merely be briefly in contact withthe additional user and therefore may not desire to be mapped into therepresentative environment presented to the other user.

With the preceding in mind, FIG. 7 is a schematic of an embodiment of afourth mapping arrangement 380 illustrating how additional elements aremapped into a virtual coordinate system 382 representing both thevirtual environment 148 and the representative physical environment 265.In the illustrated embodiment, the virtual environment 148 may bepresented as an image to the first user 150. That is, instead ofpresenting the features of the virtual environment 148 around the firstuser 150 to emulate the first user 150 being immersed in the virtualenvironment 148, the features of the virtual environment may bepresented as a single image or a series of images (e.g., a video) viathe mobile device 58 to the first user 150. In this way, the features ofthe virtual environment 148 are presented separately from, rather thanaugmented to, the real-life objects of the first physical environment142. Although the computing system 56 presents features of the virtualenvironment 148 to the first user 150 in the illustrated embodiment, inadditional embodiments, the computing system 56 may present any suitablerepresentative environment (e.g., the representative physicalenvironment 265) to the first user 150.

As illustrated in FIG. 7, the computing system 56 maps the third user276 into the virtual coordinate system 382 by associating a firstphysical location 384 of the third physical environment 262 with a firstvirtual location 386 in the virtual coordinate system 382, andassociating a second physical location 388 with a second virtuallocation 390 in the virtual coordinate system 382. Accordingly, thecomputing system 56 determines that a first physical positioning 392 ofthe third user 276 in the third physical environment 262 is associatedwith a first virtual positioning 394 in the virtual coordinate system382. The first virtual positioning 394 may be associated with a firstrepresentative positioning 396 of the third user 276 in the virtualenvironment 148 that is presented to the first user 150 and may also beassociated with a second representative positioning 398 of the thirduser 276 in the representative physical environment 265. Thus, thecomputing system 56 may present the virtual environment 148 and thethird user 276 positioned within the virtual environment 148 to thefirst user 150 based on the first representative positioning 396 of thethird user 276 in the virtual environment 148. Moreover, the computingsystem 56 may cause features associated with the representative physicalenvironment 265 to be presented to the third user 276 based on thedetermined positioning of the third user 276 in the representativephysical environment 265.

In addition, the first user 150 in the first physical environment 142may be able to add features or elements into the virtual coordinatesystem 382 (e.g., via the mobile device 58). In the illustratedembodiment, the first user 150 places a graph 400 into the virtualcoordinate system 382 at a second virtual positioning 402. In someembodiments, the graph 400 may be presented based on the second virtualpositioning 402 of the graph 400 in the virtual coordinate system 382.For instance, the computing system 56 may determine a thirdrepresentative positioning 404 of the graph 400 in the virtualenvironment 148 based on the second virtual positioning 402 of the graph400 in the virtual coordinate system 382. Accordingly, the computingsystem 56 may present an image of the graph 400 positioned within thevirtual environment 148 (e.g., relative to the third user 276) to thefirst user 150 based on the second virtual positioning 402. Moreover,the computing system 56 may determine a fourth representativepositioning 406 of the graph 400 in the representative physicalenvironment 265 based on the second virtual positioning 402 of the graph400 in the virtual coordinate system 382. Accordingly, the computingsystem 56 may present an image of the graph 400 to the third user 276based on the second virtual positioning 402 of the graph 400 relative tothe first virtual positioning 394 of the third user 276 in the virtualcoordinate system 382. For instance, the computing system 56 may presentan image of the graph 400 relative to the real-life objects of the thirdphysical environment 262 to emulate that the graph 400 is a physicalobject positioned within the third physical environment 262.

Moreover, the third user 276 may change from the first physicalpositioning 392 to a second physical positioning 408 within the thirdphysical environment 262, and the second physical positioning 408 may beassociated with a third virtual positioning 410 in the virtualcoordinate system 382. In addition, the third virtual positioning 410 isassociated with a fifth representative positioning 412 in the virtualenvironment 148 and with a sixth representative positioning 414 in therepresentative physical environment 265. In this way, the computingsystem 56 may update the image of the virtual environment 148 presentedto the first user 150 to show that the third user 276 has moved from thefirst representative positioning 396 to the fifth representativepositioning 412. Moreover, the computing system 56 may update thefeatures of the representative physical environment 265 presented to thethird user 276, such as by updating the image of the graph 400 in thefourth representative positioning 406 (e.g., to anchor or fix the imageof the graph 400 in the third physical environment 262).

Further still, the virtual positioning of the graph 400 may beadjustable within the virtual coordinate system 382. As an example, thefirst user 150 may move the graph 400 (e.g., via the mobile device 58)from the second virtual positioning 402 to a fourth virtual positioning416. The fourth virtual positioning 416 may correspond to a fifthrepresentative positioning 418 of the graph 400 in the virtualenvironment 148. In this way, moving the graph 400 to the fourth virtualpositioning 416 may cause the computing system 56 to update the image ofthe virtual environment 148 presented to the first user 150 to show thatthe graph 400 is in the fifth representative positioning 418.Additionally, the fourth virtual positioning 416 may correspond to asixth representative positioning 420 of the graph 400 in therepresentative physical environment 265. Accordingly, moving the graph400 to the fourth virtual positioning 416 may cause the computing system56 to update the image of the graph 400 presented to the third user 276(e.g., to illustrate the graph 400 is in a new location within therepresentative physical environment 265). In additional embodiments, thegraph 400 may be adjustable by the third user 276 (e.g., via anotherrespective mobile device 58), and the computing system 56 may update theimages presented to the first user 150 and/or to the third user 276accordingly. For instance, the third user 276 may adjust the orientationand/or a dimensioning (e.g., a focus, a zoom) of the graph 400 such thatthe third user 276 may view a particular portion of the graph 400 moreclearly. In further embodiments, in addition to the graph, anotherelement (e.g., a trigger area described above) may be placed in thevirtual coordinate system 382 to cause features to be presented based ona determined virtual positioning of the third user 276 in the virtualcoordinate system 382. Indeed, any suitable element or feature may bepositioned within the virtual coordinate system 382 and to arepresentative environment accordingly.

As described above, the physical positioning of each user may becontinuously monitored even if the user is not within a particularphysical environment associated with the virtual coordinate system.Moreover, the physical positioning of each user may also be continuouslymonitored even while the user is not mapped into the virtual coordinatesystem. For instance, the user may desire to map into the virtualcoordinate system at a first time (e.g., a first workday) to viewcertain features associated with particular physical positionings. At asecond time (e.g., a day off), the user may desire to map out of thevirtual coordinate system to avoid viewing such features. At a thirdtime (e.g., a second workday), the user may desire to map back into thevirtual coordinate system so as to view the same features associatedwith the same physical positionings. That is, when the user maps backinto the virtual coordinate system, the virtual features may be viewableat the originally positioned physical locations.

With this in mind, FIG. 8 is a schematic of an embodiment of a fifthmapping arrangement 450 illustrating the second user 168 mapping into avirtual coordinate system 452 from the second physical environment 144at different times. In the illustrated embodiment, the computing system56 may determine a starting position of the second user 168 within thevirtual coordinate system 452 based on an association between a firstphysical location 454 of the second physical environment 144 and a firstvirtual location 456 in the virtual coordinate system 452 and based onan association between a second physical location 458 of the secondphysical environment 144 and a second virtual location 460 in thevirtual coordinate system 452. As a result, the computing system 56 maydetermine that a first physical positioning 462 of the second user 168(e.g., at a first time) in the second physical environment 144 isassociated with a first virtual positioning 464 in the virtualcoordinate system 452, thereby mapping the second user 168 into thevirtual coordinate system 452. At any time after mapping into thevirtual coordinate system 452, the second user 168 may map out of thevirtual coordinate system 452. By mapping out of the virtual coordinatesystem 452, the computing system 56 does not determine a positioning ofthe second user 168 within the virtual coordinate system 452 andtherefore does not present features to the second user 168 based on thepositioning of the second user 168 within the virtual coordinate system452.

However, even though the second user 168 has mapped out of the virtualcoordinate system 452, the computing system 56 may continue to track(e.g., via the dead reckoning techniques) movement of the second user168, such as movement deviating from the first physical positioning 462.By way of example, at a second time, the computing system 56 maydetermine that the second user 168 is at a second physical positioning466 within the second physical environment 144. The second user 168 maymap back into the virtual coordinate system 452 while at the secondphysical positioning 466. The computing system 56 may determine arelationship between the second physical positioning 466 and the firstvirtual positioning 464 to determine a corresponding second virtualpositioning 468 in the virtual coordinate system 452 associated with thesecond physical positioning 466. That is, the relationship (e.g.,distance, angle, placement) between the first physical positioning 462and the second physical positioning 466 corresponds to (e.g., issubstantially the same as, is proportional to) the relationship betweenthe first virtual positioning 464 and the second virtual positioning468. Therefore, the computing system 56 may determine a correspondingposition of the second user 168 in the virtual coordinate system 452 bytracking movement of the second user 168 in the second physicalenvironment 144, even though the computing system 56 did notcontinuously track movement of the second user 168 in the virtualcoordinate system 452. In this way, so long as the computing system 56is able to track the physical positioning of the second user 168relative to the first physical positioning 462, the computing system 56may be able to map the second user 168 into the virtual coordinatesystem 452 accordingly.

In additional embodiments, the second user 168 may be able to manuallyselect or change their current physical positioning in order to map to adesirable virtual positioning within the virtual coordinate system 452.That is, for example, the second user 168 may utilize the mobile device58 to change their physical positioning (e.g., as determined by thecomputing system 56) without moving from the current physicalpositioning. As a result, the computing system 56 may determine thevirtual positioning of the second user 168 in the virtual coordinatesystem 452 has changed even though the second user 168 has not movedfrom the current physical positioning. For instance, the second user 168may desire to move to a particular positioning of a representativeenvironment associated with the virtual coordinate system 452 withouthaving to move to a corresponding positioning of the second physicalenvironment 144. Thus, the second user 168 may indicate movement to thecorresponding positioning of the second physical environment 144 via themobile device 58 without actually moving to be at the correspondingpositioning.

It may be desirable to associate physical locations with virtuallocations using other methods without having to manually select andassociate such locations. For this reason, the computing system 56 mayautomatically determine a virtual positioning of the user (e.g., theuser 52) without the user having to manually select physical locations.For instance, the user may merely use the mobile device 58 to indicatethe desire to map into the virtual coordinate system, and the computingsystem 56 may automatically determine the positioning of the user in thevirtual coordinate system in response. As such, the user may map intothe virtual coordinate system more easily (e.g., without having toprovide as much user input). FIGS. 9-13 provide additional detailsregarding various other possible mapping methods. As an example, insteadof using physical locations selected by the user, each mapping methodmay use pre-positioned, preselected, or otherwise predetermined markerspositioned in a physical environment for associating a physicalpositioning with a virtual positioning in the virtual coordinate system.In this manner, the virtual coordinate system may be already becalibrated to match the physical environment, and the computing system56 may determine a virtual positioning of the user in the virtualcoordinate system based on the calibration and the physical positioningof the user in the physical environment. Any of the mapping methodsdescribed herein may be used to map users into any suitable virtualcoordinate system, such as any of the virtual coordinate systemdescribed above. In some embodiments, the user may use a respectivemapping method to map into the respective virtual coordinate systems.That is, each virtual coordinate system is associated with a particularmapping method for mapping into the respective virtual coordinatesystems. In additional embodiments, the user may use any of the mappingmethods to map into one of the virtual coordinate system.

In one situation, a physical environment may be pre-set with physicalfeatures (e.g., objects) that are used for determining the positioningof a user in a virtual coordinate system. For example, the physicalfeatures may include sensors configured to determine the location of theuser within the physical environment (e.g., relative to the sensors).

With the preceding in mind, FIG. 9 is a diagram of an embodiment of amapping method 490 for mapping the user 52 from a physical environment492 into a virtual coordinate system 494. The illustrated physicalenvironment 492 has a first area 496 that includes a first physicalmarker 498 (e.g., a first object or sensor disposed in the physicalenvironment 492) and a second physical marker 500 (e.g., a second objector sensor disposed in the physical environment 492). The first physicalmarker 498 is associated with a first virtual location 502, and thesecond physical marker 500 is associated with a second virtual location504. Moreover, the physical environment 492 has a second area 506 thatincludes a third physical marker 508 and a fourth physical marker 510.The third physical marker 508 is associated with a third virtuallocation 512 and the fourth physical marker 510 is associated with afourth virtual location 514. In certain embodiments, the computingsystem 56 may determine physical positionings of users in the first area496 by using the first physical marker 498 and the second physicalmarker 500, and the computing system 56 may determine physicalpositionings of users in the second area 506 separately by using thethird physical marker 508 and the fourth physical marker 510.Accordingly, the computing system 56 may determine a physicalpositioning 516 of the user 52 in the first area 496 relative to thephysical markers 498, 500 and, based on the determined physicalpositioning 516 of the user 52, the computing system 56 may determine anassociated virtual positioning 518 of the user 52 in the virtualcoordinate system 494. For instance, similar to determining the virtualpositioning of the users via selected physical positions, the computingsystem 56 may determine a distance, position, orientation, and so forth,between the physical positioning 516 and the physical markers 498, 500to determine the virtual positioning 518 having similar relationshipswith the virtual locations 502, 504.

In certain embodiments, the computing system 56 may determine thephysical positioning 516 of the user 52 via a sensor 520. For instance,the sensor 520 may be an optical sensor (e.g., a camera, a proximitysensor) that may detect a distance of the user 52 relative to thephysical markers 498, 500, 508, 510, a force or pressure sensor that maydetect contact between the user 52 and one of the physical markers 498,500, 508, 510, or any other suitable sensor that may determine thephysical positioning 516 of the user 52 relative to the physical markers498, 500, 508, 510. In additional embodiments, the computing system 56may determine the physical positioning 516 of the user 52 via userinput. As an example, the user 52 may manually select (e.g., via themobile device 58) the physical positioning 516 relative to the physicalmarkers 498, 500, 508, 510, and the computing system 56 may use themanually selected physical positioning 516 to determine thecorresponding virtual positioning 518 in the virtual coordinate system494.

In another situation, the physical environment may have fewer physicalfeatures, but the positioning of the user relative the physical featuresmay be determined based on a determined orientation of the user relativeto the physical feature. For example, an office may merely have a singlephysical feature, but the position of the user within the office may bedetermined based on the distance between the user and the physicalfeature and the direction where the user is facing within the office.

As an example, FIG. 10 is a diagram of an embodiment of a mapping method540 for mapping the user 52 from the physical environment 492 into thevirtual coordinate system 494 with the preceding technique. The firstarea 496 of this illustrated physical environment 492 has the firstphysical marker 498 associated with the first virtual location 502, andthe second area 506 of the physical environment 492 has the thirdphysical marker 508 associated with the third virtual location 512.However, the first area 496 and the second area 506 may not have thesecond physical marker 500 and the fourth physical marker 510,respectively, as described with respect to FIG. 9. Instead, the firstphysical marker 498 may be associated with a first physical direction550, the first virtual location 502 may be associated with acorresponding first virtual direction 552, the third physical marker 508may be associated with a second physical direction 554, and the secondvirtual location 504 may be associated with a corresponding secondvirtual direction 556.

The computing system 56 may acquire a physical positioning 558 of theuser 52 via sensors or other suitable techniques described above and maydetermine the relationship between the physical positioning 558 of theuser 52 and the first physical marker 498 and/or between the physicalpositioning 558 and the first physical direction 550 to determine acorresponding virtual positioning 560 of the user 52 in the virtualcoordinate system 494. For example, the computing system 56 maydetermine a distance between the physical positioning 558 and the firstphysical marker 498 to determine a corresponding distance between thevirtual positioning 560 and the first virtual location 502.

Moreover, the computing system 56 may determine a placement of thephysical positioning 558 relative to the first physical marker 498 basedon a relationship between the physical positioning 558 and the physicaldirection 550 (e.g., an angle between the physical direction 550 and thedistance spanning between the first physical marker 498 and the physicalpositioning 558). The computing system 56 may then determine acorresponding placement of the virtual positioning 560 relative to thefirst virtual location 502 based on the relationship between thephysical positioning 558 and the physical direction 550. For instance, arelationship between the virtual positioning 560 and the first virtualdirection 552 (e.g., an angle between the first virtual direction 552and the distance spanning between the first virtual location 502 and thevirtual positioning 560) may correspond to the relationship between thephysical positioning 558 and the physical direction 550. The computingsystem 56 may also determine an orientation of the physical positioning558 relative to the first physical direction 550 to determine acorresponding orientation of the virtual positioning 560 relative to thefirst virtual direction 552. In an example, the first physical marker498 may include a feature, such as a quick response code, a scanner, andthe like, configured to receive an input from the mobile device 58 at aparticular orientation of the mobile device 58, and therefore of theuser, relative to the first physical marker 498. In another example, thesensor 520 may determine a weight distribution imparted by the user 52,and the computing system 56 may receive data indicative of the weightdistribution in order to determine the orientation of the user 52relative to the first physical direction 550. In yet another example,the sensor 520 may be an optical sensor that may capture an image of theuser 52, and the computing system 56 may receive the captured image soas to determine the orientation of the user 52 relative to the firstphysical direction 550. In any case, the computing system 56 maydetermine the position and orientation of the physical positioning 558relative to the first physical marker 498 and the first physicaldirection 550 to determine the position and orientation of the virtualpositioning 560 relative to the first virtual location 502 and the firstvirtual direction 552.

In a similar situation, a compass may be used to determine a location ofthe user relative to the physical feature (e.g., with reference tocardinal directions). For instance, an office and therefore a physicalfeature of the office may be oriented with respect to north, east,south, and west cardinal directions. Thus, the position of the user maybe determined based on the relationship between the user and thephysical feature using the cardinal directions.

FIG. 11 is a diagram of an embodiment of a mapping method 540 formapping the user 52 from the physical environment 492 into the virtualcoordinate system 494. As illustrated in FIG. 11, the first area 496 hasthe first physical marker 498 associated with the first virtual location502, and the second area 506 has the third physical marker 508associated with the third virtual location 512. Moreover, instead of theadditional physical markers 510, 500 or the additional physicaldirections 550, 554, the physical environment 492 is associated with aphysical compass 582. The virtual coordinate system 494 is alsoassociated with a respective virtual compass 584 and does not includethe additional virtual locations 504, 514 or the virtual directions 552,556. The respective compasses 582, 584 may provide directionalnavigation for the physical environment 492 and for the virtualcoordinate system 494. For instance, the user 52 may be at a physicalpositioning 586 in the physical environment 492. The computing system 56may determine the location and orientation of the physical positioning586 relative to the first physical marker 498 by using the physicalcompass 582. Accordingly, by using the virtual compass 584, thecomputing system 56 may determine a corresponding virtual positioning588 associated with the physical positioning 586 based on therelationship between the physical positioning 586 relative to the firstphysical marker 498. As such, the computing system 56 is able to usecardinal directions of the physical environment 492 with correspondingcardinal directions of the virtual coordinate system 494 for associatingphysical positionings in the physical environment 492 with virtualpositionings in the virtual coordinate system 494.

It should also be noted that the techniques described with respect toFIGS. 10 and 11 may be applied to user-selected locations describedabove with respect to FIGS. 3-8. That is, physical and virtualdirections may be applied to user-selected physical and virtuallocations, respectively, and/or the compasses 582, 584 may be used withthe user-selected physical and virtual locations. Indeed, user-selectedlocations and predetermined physical markers may be used together formapping the user 52 into the virtual coordinate system 494.

In a further situation, the user may be mapped to the same positioningthe virtual coordinate system. For example, at an office, rather thandetermining the positioning of the user within the office to determinethe corresponding positioning of the user within the virtual coordinatesystem, each positioning within the office may be associated with thesame initial positioning within the virtual coordinate system.

FIG. 12 is a diagram of an embodiment of a mapping method 600 formapping the user 52 from the physical environment 492 into the virtualcoordinate system 494. For the mapping method 600, different physicalpositionings in the physical environment 492 may map to the same virtualpositioning or substantially the same virtual positioning (e.g., withina distance range of one another) in the virtual coordinate system 494.In certain embodiments, physical positionings in the respective areas496, 506 may map into a different virtual positioning in the virtualcoordinate system 494. In the illustrated embodiment, a first physicalpositioning 602 (e.g., of a first user) in the first area 496 may mapinto a first virtual positioning 604 in the virtual coordinate system494. Moreover, a second physical positioning 606 (e.g., of a seconduser), which is different than the first physical positioning 602, maymap into substantially the same first virtual positioning 604. Furtherstill, a third physical positioning 608 (e.g., of a third user), whichis different from the first physical positioning 602 and from the secondphysical positioning 606, may also map into substantially the same firstvirtual positioning 604. In this way, rather than determining aparticular relationship of the physical positionings in the physicalenvironment 492 and determining an associated virtual positioning in thevirtual coordinate system 494 based on the determined relationship, thecomputing system 56 may map each physical positioning to the same (e.g.,a default) virtual positioning in the virtual coordinate system 494.

Furthermore, physical positionings in the second area 506 may map into asecond virtual positioning 610 in the virtual coordinate system 494. Thesecond virtual positioning 610 may be different than the first virtualpositioning 604. As illustrated in FIG. 12, a fourth physicalpositioning 612 (e.g., of a fourth user) may map into the second virtualpositioning 610, and a fifth physical positioning 614 (e.g., of a fifthuser) may also map into substantially the same second virtualpositioning 610. In this manner, the computing system 56 may map theuser 52 from the first area 496 to substantially the same first virtualpositioning 604 and may map the user 52 from the second area 506 tosubstantially the same second virtual positioning 610. To this end, thecomputing system 56 may determine in which area the physical positioningof the user 52 is located and, based on the determined area of the user52, the computing system 56 may map the user 52 into the virtualpositioning associated with the area. As a result, there may be multipledefault virtual positionings in the virtual coordinate system 494 towhich the computing system 56 may map the user 52 based on thedetermined area in which the user 52 is physically located.

In certain implementations, the user 52 may be able to change thedefault virtual positioning (e.g., via the mobile device 58). As anexample, the user 52 may move the first virtual positioning 604 in thevirtual coordinate system 494 to an updated virtual positioning suchthat the computing system 56 may map the user 52 from the first area 496to the updated virtual positioning instead of to the original firstvirtual positioning 604. Similarly, the user 52 may move the secondvirtual positioning 610 in the virtual coordinate system 494 to anadditional updated virtual positioning such that the computing system 56may map the user 52 from the first area 496 to the additional virtualpositioning instead of to the original second virtual positioning 610.Moreover, the user 52 may add virtual positionings, such as to associatewith additional areas in the physical environment 492 from which theuser 52 may be mapped, and/or to remove virtual positionings, such as tomap from different areas into the same virtual positioning. In this way,the user 52 may manually set the default virtual positioning to whichthe computing system 56 may map the user 52 from the physicalenvironment 492.

In further implementations, there may be multiple pre-determined orpre-set virtual positionings to which the user 52 may be mapped uponselection. That is, for example, the user 52 may choose to map to eitherthe first virtual positioning 604 or the second virtual positioning 610as desired. In some approaches, each virtual positioning may beassociated with a specific physical location and, as such, a respectivephysical marker may be implemented to facilitate the user with selectingthe appropriate virtual positioning based on the physical location ofthe user. As an example, a first physical marker may have a firstidentifier (e.g., color, a labeled number), and the computing system 56may display the first virtual positioning 604 as having the sameidentifier as that of the first physical marker to indicate that thefirst virtual positioning 604 is associated with the first physicalmarker. As another example, a second physical marker at a differentphysical location than that of the first physical marker may have asecond identifier, and the computing system 56 may display the secondvirtual positioning 610 as having the same identifier as that of thesecond physical marker to indicate that the second virtual positioning610 is associated with the second physical marker. Thus, the user 52 mayappropriately select the corresponding virtual positioning 604, 610based on the associated identifier of any of the physical markers.

In yet another situation, certain objects or other physical propertiesof the physical environment may be used for determining the positioningof the user. For example, an office may have a door, a table, or a chairof which the computing system 56 pre-stores an image and associated witha corresponding virtual positioning in the virtual coordinate system.The computing system 56 may be able to determine the positioning of theuser relative to the particular objects to therefore determine thepositioning of the user relative to the corresponding virtualpositioning in the virtual coordinate system.

FIG. 13 is a diagram of an embodiment of a mapping method 630 formapping the user 52 from the physical environment 492 into the virtualcoordinate system 494. With the mapping method 630, the computing system56 may associate an image of a portion of the physical environment 492with a particular virtual positioning, location, or orientation in thevirtual coordinate system 494. By way of example, the computing system56 may recognize a feature of the physical environment 492 and mayassociate the feature with a particular portion of the virtualcoordinate system 494. In the illustrated embodiment, the user 52 maycapture an image 632 (e.g., of a doorway in the first area 496), and thecomputing system 56 may determine that the image 632 is associated witha virtual location 634 in the virtual coordinate system 494. Forexample, the computing system 56 may use image recognition to compareproperties of the image 632 (e.g., pixel color, dimension) with storedinformation (e.g., corresponding image properties) associated with thevirtual location 634 to determine whether the image 632 is associatedwith the stored information. If the properties of the image 632 matchwith the stored information, the computing system 56 may determine thatthe image 632 matches with the virtual location 634. Moreover, thecomputing system 56 may determine a physical positioning 636 of the user52 relative to the part of the physical environment 492 associated withthe image 632 based on the properties of the image 632. For instance,based on the shape, size, orientation, and/or other suitable property ofthe captured image 632 the computing system 56 may determine a locationand/or orientation of the user 52 and relative to the part of thephysical environment 492 associated with the image 632. As a result, thecomputing system 56 may determine a corresponding virtual positioning638 of the user 52 in the virtual coordinate system 494 relative to thevirtual location 634 based on the determined relationship between thephysical positioning 636 and the part of the physical environment 492associated with the image 632.

In some embodiments, the user 52 may be able to add various images towhich the computing system 56 may recognize and associate with aparticular virtual positioning in the virtual coordinate system 494. Forinstance, the user 52 may capture another image in the physicalenvironment 492, such as of an object in the second area 506, and mayassociate a location of the object with a particular virtual positioningin the virtual coordinate system 494. As such, the computing system 56may be able to recognize subsequent images of the object, to determine aphysical positioning of the user 52 relative to the object based on acaptured image of the object, and to determine a corresponding virtualpositioning of the user 52 based on the determined physical positioningof the user 52 relative to the object. In further embodiments, the user52 may be able to modify stored images, such as by changing the virtuallocation in the virtual coordinate system 494 associated with the storedimages. In this manner, the user 52 may change to which virtual locationin the virtual coordinate system 494 the computing system 56 may comparein order to determine the corresponding virtual positioning of the user52. Further still, the user 52 may modify the specific properties of theimages, such as by capturing updated images to enable the computingsystem 56 to store more accurate images for recognizing captured imagesof objects and/or for determining the virtual positioning of the user52. In any case, the user 52 may manually set properties of variousimages to set how the user 52 is mapped into the virtual coordinatesystem 494.

In addition to image recognition, other similar techniques may beutilized for mapping users into the virtual coordinate system 494 basedon a physical feature. For instance, optical character recognition, aquick response code scan, an augmented reality marker scan, anothersuitable technique, or any combination thereof may be used. In any case,the process of identifying a physical marking and matching theidentified physical marking with a corresponding stored virtual markingmay enable the computing system 56 to determine the positioning of theuser 52.

FIG. 14 is a flowchart of an embodiment of a method 660 for trackingmovement of the user 52 in a virtual coordinate system. The method 660may be used for tracking movement of the user 52 in any of the virtualcoordinate systems described above with respect to FIGS. 3-13. In otherwords, the method 660 may be implemented with any of the techniquesdescribed with reference to FIGS. 3-13. For instance, the method 660 maybe used to map the user into a representative environment (e.g., aresidential home) from a physical environment (e.g., from an office). Insome embodiments, the method 660 may be performed by the computingsystem 56, such as based on sensor data received from the mobile device58, but the method 660 may be performed by any suitable component inadditional embodiment. Furthermore, a different method than the method660 may be performed in additional embodiments. For example, additionalsteps may be performed, and/or certain steps of the method 660 may bemodified, removed, and/or performed in a different order than depictedin FIG. 14.

At block 662, data and/or input indicative of a physical positioning ofthe user 52 in a physical environment is received. In some embodiments,the physical positioning may be received with reference to physicallocations in the physical environment as selected by the user 52 (e.g.,via the techniques described with respect to FIGS. 3-8). In additionalembodiments, the physical positioning may be received with reference topreselected features (e.g., via the techniques described with respect toFIGS. 9-13). In any case, the data may be transmitted via the mobiledevice 58. As an example, the user 52 may manually select when themobile device 58 transmits the data. For instance, the mobile device 58may include an application or program that, when initialized or executedas determined by the user 52, transmits a signal or user input to thecomputing system 56, and the signal may include the input dataindicative of the physical positioning. Thus, the method 660 may beinitialized by the user 52.

Based on the received input, a corresponding virtual positioning of theuser 52 in the virtual coordinate system is determined, as indicated atblock 664, thereby mapping the user 52 into the virtual coordinatesystem. The virtual positioning of the user 52 may be determined basedon the relationship between the physical positioning of the user 52relative to certain physical locations (e.g., selected physicallocations and/or predetermined features). As an example, the locationand/or orientation of the physical positioning relative to one or morephysical locations is determined, in which the physical location(s) maypertain to one or more corresponding virtual locations in the virtualcoordinate system. Based the location and/or orientation of the physicalpositioning relative to the physical location(s), a correspondinglocation and/or corresponding orientation relative to the virtuallocation(s) in the virtual coordinate system may be determined in orderto determine the corresponding virtual positioning in the virtualcoordinate system.

In some embodiments, after determining the virtual positioning of theuser 52 in the virtual coordinate system, a signal may be transmitted(e.g., to the mobile device 58) based on the virtual positioning. Thesignal may cause the mobile device 58 to present features (e.g., images,audio outputs, haptic input) associated with a representativeenvironment associated with the virtual coordinate system. In anexample, the signal may cause the mobile device 58 to present featuresassociated with a virtual environment (e.g., the virtual environment148) represented by the virtual coordinate system. In another example,the signal may cause the mobile device 58 to present features associatedwith a physical environment (e.g., the representative physicalenvironment 265) represented by the virtual coordinate system. In afurther example, the signal may cause the mobile device 58 to presentfeatures associated with another object mapped into the virtualcoordinate system, such as an avatar or image of another user, an imageof an object mapped into the virtual coordinate system by another user,and so forth. Thus, mapping into the virtual coordinate system causesthe user 52 to receive additional features from the mobile device 58,and the additional features may augment real-life objects of thephysical environment.

At block 666, additional input indicative of an updated physicalpositioning of the user 52 in the physical environment is received. Insome embodiments, the updated physical positioning of the user 52 isdetermined via the dead reckoning techniques described above. Forinstance, the movement sensors 105 of the mobile device 58 may transmitsensor data to the computing system 56 to indicate movement of the user52. The sensor data may be used to determine movement of the user 52from a previous physical positioning to an updated physical positioningin the physical environment. Thus, the updated physical positioning maybe determined or calculated by monitoring movement of the user 52,rather than by directly detecting the particular physical positioning ofthe user 52 at all times, for example.

In additional embodiments, the movement of the user 52 may be determinedvia external sensors, such as an image sensor, an optical sensor, aremote sensor, and the like. The external sensors may continuouslydetermine a particular positioning of the user 52 and may transmitsensor data indicative of a current positioning of the user 52. Thus,the updated physical positioning of the user 52 may be directlydetermined via the sensor data. In certain embodiments, the externalsensors may be used in conjunction with the movement sensors 105 of themobile device 58 to determine the physical positioning of the user 52more accurately. For instance, a first physical positioning of the user52, as detected by the external sensors, may be compared with a secondphysical positioning of the user 52, as determined via the deadreckoning techniques. Based on the comparison between the first physicalpositioning and the second physical positioning, a final physicalpositioning of the user 52 may be determined (e.g., via a mathematicalaverage of the first and second physical positionings).

In further embodiments, movement of the user 52 may be determined usinganother component of the mobile device 58. By way of example, thephysical environment may include various features with which the mobiledevice 58 may interact. Based on the interaction between the mobiledevice 58 and a particular feature, the updated physical positioning ofthe user may be determined. For instance, the feature may include aquick response code that the mobile device 58 may scan, an object ofwhich the mobile device 58 may capture an image, a radio-frequencyidentification reader that may identify the mobile device 58, and thelike. The physical location of the feature in the physical environmentmay be known and associated with a corresponding virtual location in thevirtual coordinate system such that a corresponding virtual positioningof the mobile device 58 may be determined based on the interaction withthe feature.

Further still, sensor data from movement sensors 105, from externalsensors, and/or from other features may be selectively received. In anexample, at certain determined physical positionings of the user 52(e.g., in an ambient environment outside of a structure), sensor datafrom an external sensor (e.g., GPS) may be received, but at otherdetermined physical positionings of the user 52 (e.g., within abuilding), sensor data from movement sensors 105 may be received. Inanother example, received sensor data may be evaluated and sensor datathat is determined to be more accurate may be used. For instance, whenthe user 52 is in the ambient environment, a determination may be madethat GPS may accurately determine the physical positioning of the user52. However, when the user 52 is in the building, a determination may bemade that the movement sensors 105 and/or interactions between themobile device 58 and known features of the building may more accuratelydetermine the physical positioning of the user 52.

At block 668, the virtual positioning of the user 52 in the virtualcoordinate system is updated based on the received data. By way ofexample, the location and/or orientation of the updated physicalpositioning relative to the previous physical positioning may bedetermined. Based on the location and/or orientation of the updatedphysical positioning relative to the previous physical positioning, acorresponding location and/or corresponding orientation relative to theprevious virtual positioning in the virtual coordinate system may bedetermined so as to determine the corresponding updated virtualpositioning in the virtual coordinate system. In additional embodiments,each physical positioning of the physical environment is associated witha corresponding virtual positioning in the virtual coordinate system. Inthis way, the corresponding updated virtual positioning may be directlydetermined based on the determined updated physical positioning.

At block 670, a signal may be transmitted to the mobile device 58 basedon the updated virtual positioning of the user 52 in the virtualcoordinate system. The signal may cause the mobile device 58 to updatefeatures presented by the mobile device 58. By way of example, themobile device 58 may update how images are displayed, how audio isoutput, how haptic input is transmitted, and so forth, to emulatemovement of the user 52 in the representative environment. Indeed,signals may be transmitted to the mobile device 58 each time the user 52moves or otherwise changes physical positioning to immerse the user 52in the representative environment. In additional embodiments, the signalmay be transmitted to the mobile device 58 based on other updates, suchas an update to an additional physical positioning of a different user,an additional object mapped into the virtual coordinate system,selection of a different representative environment for which featuresare presented to the user 52, and so forth. As a result, signals may besent to the mobile device 58 for updating the presentation of thefeatures in response to any suitable modification associated with thevirtual coordinate system.

While only certain features of the disclosure have been illustrated anddescribed herein, many modifications and changes will occur to thoseskilled in the art. It is, therefore, to be understood that the appendedclaims are intended to cover all such modifications and changes as fallwithin the true spirit of the disclosure.

The techniques presented and claimed herein are referenced and appliedto material objects and concrete examples of a practical nature thatdemonstrably improve the present technical field and, as such, are notabstract, intangible or purely theoretical. Further, if any claimsappended to the end of this specification contain one or more elementsdesignated as “means for [perform]ing [a function] . . . ” or “step for[perform]ing [a function] . . . ”, it is intended that such elements areto be interpreted under 35 U.S.C. 112(f). However, for any claimscontaining elements designated in any other manner, it is intended thatsuch elements are not to be interpreted under 35 U.S.C. 112(f).

1. A system, comprising: a computing system configured tocommunicatively couple to a database configured to store a virtualcoordinate system and a plurality of features associated with arepresentative environment associated with the virtual coordinatesystem, wherein the computing system is configured to: receive a firstinput indicative of a physical positioning of a user in a physicalenvironment; determine a virtual positioning of the user in the virtualcoordinate system based on the first input; receive a second inputindicative of an updated physical positioning of the user in thephysical environment; determine an updated virtual positioning of theuser in the virtual coordinate system based on the second input; andoutput a first signal to a computing device in response to determiningthe updated virtual positioning of the user in the virtual coordinatesystem.
 2. The system of claim 1, wherein the first signal is configuredto cause the computing device to present a feature of the plurality offeatures associated with the representative environment based on thevirtual positioning of the user in the virtual coordinate system via anelectronic display.
 3. The system of claim 2, wherein the computingsystem is configured to output a second signal to the computing devicein response to determining the updated virtual positioning of the userin the virtual coordinate system, and wherein the second signal isconfigured to cause the computing device to modify a presentation of thefeature of the plurality of features associated with the representativeenvironment, present an additional feature of the plurality of featuresassociated with the representative environment, or both.
 4. The systemof claim 1, wherein the computing system is configured to receive sensordata from the computing device, wherein the sensor data is indicative ofmovement of the user relative to the physical positioning of the user inthe physical environment, and wherein the second input comprises thesensor data, and wherein the computing system is configured to determinethe updated physical positioning based on the movement indicated by thesensor data to the physical positioning of the user.
 5. The system ofclaim 4, wherein the computing system is configured to: determinecorresponding movement of the user relative to the virtual positioningin the virtual coordinate system based on the movement of the userrelative to the physical positioning in the physical environment; anddetermine the updated virtual positioning of the user in the virtualcoordinate system based on the corresponding movement of the userrelative to the virtual positioning.
 6. The system of claim 1, whereinthe plurality of features comprises an image, an audio output, hapticfeedback, or any combination thereof, associated with the representativeenvironment.
 7. The system of claim 1, wherein the representativeenvironment is associated with a virtual environment, the physicalenvironment, a mixed environment, an additional physical environment, orany combination thereof.
 8. A non-transitory computer-readable mediumcomprising computer-executable instructions that, when executed by aprocessor, are configured to cause the processor to: receive a firstinput indicative of a first physical positioning of a first user in afirst physical environment; determine a first virtual positioning of thefirst user in a virtual coordinate system based on the first input,wherein the first virtual positioning corresponds to the first physicalpositioning; receive a second input indicative of a second physicalpositioning of the first user in the first physical environment;determine a second virtual positioning of the first user in the virtualcoordinate system based on the second input, wherein the second virtualpositioning corresponds to the second physical positioning; and output afirst signal to a first computing device based on the second virtualpositioning of the first user in the virtual coordinate system.
 9. Thenon-transitory computer-readable medium of claim 8, wherein thecomputer-executable instructions, when executed by the processor, areconfigured to cause the processor to: receive a third input indicativeof a third physical positioning of a second user in a second physicalenvironment; and determine a third virtual positioning of the seconduser in the virtual coordinate system based on the third input, whereinthe third virtual positioning corresponds to the third physicalpositioning.
 10. The non-transitory computer-readable medium of claim 9,wherein the first signal is configured to cause the first computingdevice to display a first image associated with the second user to thefirst user based on the third virtual positioning of the second userrelative to the second virtual positioning of the first user in thevirtual coordinate system, output a second signal configured to cause asecond computing device to display a second image associated with thefirst user to the second user based on the second virtual positioning ofthe first user relative to the third virtual positioning of the seconduser in the virtual coordinate system, or both.
 11. The non-transitorycomputer-readable medium of claim 9, wherein the first signal isconfigured to cause the first computing device to present a firstfeature associated with a first representative environment associatedwith the virtual coordinate system via an electronic display, andwherein the computer-executable instructions, when executed by theprocessor, are configured to cause the processor to output a secondsignal to a second computing device associated with the second user,wherein the second signal is configured to cause the second computingdevice to present a second feature associated with a secondrepresentative environment associated with the virtual coordinate systemvia an additional electronic display.
 12. The non-transitorycomputer-readable medium of claim 8, wherein the computer-executableinstructions, when executed by the processor, are configured to causethe processor to receive a third input indicative of a third virtualpositioning of a feature in the virtual coordinate system, and whereinthe first signal is configured to cause the first computing device ofthe first user to present the feature to the first user based on thesecond virtual positioning of the first user relative to the thirdvirtual positioning of the feature in the virtual coordinate system. 13.The non-transitory computer-readable medium of claim 12, wherein thecomputer-executable instructions, when executed by the processor, areconfigured to cause the processor to: receive a fourth input indicativeof movement of the feature from the third virtual positioning to afourth virtual positioning in the virtual coordinate system; andtransmit a third signal to configured to cause the first computingdevice of the first user to modify a presentation of the feature basedon the fourth virtual positioning of the feature in the virtualcoordinate system.
 14. The non-transitory computer-readable medium ofclaim 13, wherein the fourth input is received from a second computingdevice of a second user.
 15. The non-transitory computer-readable mediumof claim 8, wherein the computer-executable instructions, when executedby the processor, are configured to cause the processor to: determine arepresentative positioning of the first user in a representativeenvironment based on the second virtual positioning of the first user inthe virtual coordinate system, wherein the representative environment isassociated with the virtual coordinate system; and output a secondsignal to instruct a mobile device of a second user to present an imageof the first user in the representative environment based on therepresentative positioning of the first user in the representativeenvironment.
 16. A method comprising: receiving, via a processor, aninput indicative of a physical positioning of a user in a physicalenvironment; determining, via the processor, a virtual positioning ofthe user in a virtual coordinate system based on the input; determining,via the processor, a representative positioning of the user in arepresentative environment, wherein the representative environment isassociated with the virtual coordinate system; and outputting, via theprocessor, a signal configured to cause a computing device to present afeature associated with the representative environment via an electronicdisplay based on the virtual positioning of the user in the virtualcoordinate system.
 17. The method of claim 16, wherein the input isindicative of a first association between a first physical location inthe physical environment and a first virtual location, and wherein themethod comprises: determining, via the processor, a movement of the userfrom the first physical location to a second physical location;determining the physical positioning of the user based on the movement,wherein the physical positioning is associated with the second physicallocation, and wherein the physical positioning comprises a firstrelationship relative to the first physical location; receiving, via theprocessor, an additional input indicative of a second associationbetween a second virtual location in the virtual coordinate system andthe second physical location; determining, via the processor, thevirtual positioning of the user based on the physical positioning of theuser and the additional input, wherein the virtual positioning isassociated with the second virtual location, wherein the virtualpositioning comprises a second relationship relative to the firstvirtual location, and wherein the second relationship between thevirtual positioning and the first virtual location corresponds with thefirst relationship between the physical positioning and the firstphysical location.
 18. The method of claim 16, wherein the input isindicative of a physical positioning of the user relative to a marker inthe physical environment, wherein marker is associated with a virtuallocation in the virtual coordinate system, wherein the marker isassociated with a physical direction in the physical environment,wherein the physical direction is associated with a virtual direction inthe physical environment, and wherein the method comprises: determining,via the processor, a first distance between the physical positioning ofthe user and the marker; determining, via the processor, a firstplacement of the physical positioning of the user relative to the markerbased on a first relationship between the physical positioning and thephysical direction; and determining, via the processor, a virtualpositioning of the user in the virtual coordinate system, wherein asecond distance between the virtual positioning of the user and thevirtual location corresponds to the first distance between the physicalpositioning of the user and the marker, wherein a second placement ofthe virtual positioning of the user relative to the virtual location isbased on a second relationship between the virtual positioning and thevirtual direction, and wherein the second relationship between thevirtual positioning and the virtual direction corresponds with the firstrelationship between the physical positioning and the physicaldirection.
 19. The method of claim 16, comprising: determining, via theprocessor, the physical positioning of the user relative to a marker inthe physical environment by using a physical compass associated with thephysical environment, wherein the marker is associated with a virtuallocation in the virtual coordinate system; and determining, via theprocessor, the virtual positioning of the user relative to the virtuallocation by using a virtual compass associated with the virtualcoordinate system, wherein the virtual positioning of the user relativeto the virtual location corresponds to the physical positioning of theuser relative to the marker in the physical environment.
 20. The methodof claim 16, comprising: receiving, via the processor, an additionalinput indicative of an additional physical positioning of the user inthe physical environment; determining, via the processor, a firstrelationship between the additional physical positioning and thephysical positioning; and determining, via the processor, an additionalvirtual positioning of the user relative to the virtual positioning ofthe user in the virtual coordinate system, wherein a second relationshipbetween the virtual positioning and the additional virtual positioningcorresponds to the first relationship between the additional physicalpositioning and the physical positioning.